package cn.com.taurus.service;

import cn.com.taurus.entity.ClientOptional;
import cn.com.taurus.entity.Fund;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @remark 客户基金自选业务逻辑层
 * @author Zht
 * @createTime 2021年7月5日 15点43分
 * @version 1.0
 */
public interface ClientOptionalService {

    /**
     * @remark 新增自选
     * @param clientOptional
     * @return
     */
    int insertClientOptional(ClientOptional clientOptional);

    /**
     * @remark 删除自选
     * @param cpId
     * @return
     */
    int deleteClientOptional(int cpId);

    /**
     * @remark 通过fId删除自选
     * @param fId
     * @return
     */
    int deleteClientOptionalByFId(@Param("fId") String fId, @Param("cId") Integer cId);

    /**
     * @remark 修改自选
     * @param clientOptional
     * @return
     */
    int updateClientOptional(ClientOptional clientOptional);

    /**
     * @remark 查询全部自选
     * @return
     */
    List<ClientOptional> selectClientOptional();

    /**
     * @remark 条件查询
     * @param fId
     * @param cId
     * @return
     */
    List<ClientOptional> selectConditionClientOptional(String fId, String cId);

    /**
     * 根据cId查询自选的基金
     * @param cId cid
     * @return 自选基金集合
     */
    List<Fund> selectClientOptionalFundByCId(Integer cId);

    /**
     * 获取队列cpId
     * @return cpId
     */
    Integer selectCpId();
}
